<?php
/** 
 * Arquivo de inicialização da aplicação
 * recebe a URL e a separa em controlador, método e argumentos
 */
class Bootstrap
{
	function __construct()
	{ 
		if(isset($_GET['url'])){
			$url = rtrim($_GET['url'],'/');
			$url = explode('/',$url);
			$controller = array_shift($url);
			if(!empty($url)){
				$method = array_shift($url);
			}
			if(!empty($url)){
				$args = $url;
			}
			$file_controller = APP_C.$controller.'.php';
			if(file_exists($file_controller)){
				$c = new $controller;
				$c->loadModel($controller);
				//verifica se foi passado algum método na url
				if(isset($method)){
					//verificar se o método passado existe na classe
					if(method_exists($c,$method)){
						if(isset($args)){
							$c->$method($args);
						} else {
							$c->$method();
						}
					} else {
						//se não existir o método passado na url, é exibida uma mensagem de erro
						$e = new Error();
						$e->methodError();
					}
				} else {
					$c->main();
				}
			} else {
				//se não existir o controlador, será exibida uma mensagem de erro
				$e = new Error();
				$e->controllerError();
			}
		} else {
			//se não for passada nenhuma URL um objeto da classe Index será instanciado
			$c = new Index;
			$c->main();
		}
	}
}
?>
